package cn.tedu.m5;

import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

import javax.annotation.PostConstruct;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
    @Autowired
    private Producter p;

    /**
     * 注入生产者，调用生产者的send()方法发送消息。
     * 消费者是自动创建实例，自动注册成为消费者，自动启动开始接收消息,不需要手动调用.
     */
    @Bean
    public TopicExchange logsExchange(){ //创建交换机
        return new TopicExchange("topic_logs",false,false);
    }
    /**
     * spring执行流程：包扫描创建实例 ---> 依赖注入 ---> @PostConstruct ---> 继续执行后续流程
     */
    @PostConstruct
    public void test(){
        new Thread(()->{
            p.send();
        }).start();
    }
}
